$primary-color: #2b80ff;
$primary-color-back: #dbeaff;
$primary-linear-one: #4a77ee;
$primary-linear-two: #74acff;

.banner {
  height: 800px;
  overflow: hidden;

  .con {
    position: absolute;
    top: 20%;
    left: 15%;
    color: #ffffff;

    &:hover {
      cursor: pointer;
    }

    .title {
      font-size: 24px;
      font-weight: bold;
      margin-bottom: 20px;
    }

    .tit {
      font-size: 12px;
      margin-bottom: 60px;
    }

    .btn {
      width: 110px;
      font-size: 12px;
      text-align: center;
      line-height: 30px;
      border-radius: 50px;
      background: linear-gradient(to right, $primary-linear-one, $primary-linear-two);

      transition-property: all;
      transition-duration: .3s;
      transition-timing-function: linear;

      &:hover {
        animation: btnBgColor .1s linear;
        animation-fill-mode: forwards;
      }
    }
  }

  .pic {
    height: 800px;
    position: relative;

    &>img {
      position: absolute;
      top: 50%;
      height: 100%;
      width: 100%;
      left: 50%;
      transform: translate(-50%, -50%);
    }
  }

  .list {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translate(-50%, 0);
    display: flex;
    justify-content: space-between;
    align-items: flex-end;

    .li {
      width: 25%;
      height: 160px;
      display: flex;
      flex-direction: column;
      background-color: #ffffff;
      padding: 20px;
      position: relative;
      border-top-left-radius: 5px;
      border-top-right-radius: 5px;
      align-items: center;

      .title {
        width: 100%;
        align-items: flex-start;
        margin-bottom: 10px;

        .tit {
          font-size: 18px;
          font-weight: bold;
          margin-bottom: 10px;

          text-overflow: ellipsis;
          overflow: hidden;
          white-space: nowrap;
        }

        .txt {
          text-overflow: ellipsis;
          overflow: hidden;
          white-space: nowrap;
        }
      }

      .right {
        width: 40px;
        height: 40px;
        background: linear-gradient(to right, $primary-linear-one, $primary-linear-two);
        display: flex;
        align-items: center;
        border-radius: 50%;
        justify-content: center;

        img {
          width: 30px;
          transition: all .3s;
        }

        &:hover {
          cursor: pointer;
          animation: btnBgColor .1s linear;
          animation-fill-mode: forwards;

          img {
            transform: rotate(360deg);
          }
        }
      }

      .icon {
        width: 80px;
        height: 80px;
        position: absolute;
        top: 0px;
        right: 0px;

        img {
          width: 100%;
          filter: saturate(100%);
          transition: all .3s;
        }
      }

      &:hover {
        .icon {
          img {
            filter: saturate(300%);
          }
        }
      }
    }
  }

  .swiper-pagination-bullet {
    opacity: 1;
    background-color: #ffffff;
    border: solid 2px $primary-color;
  }

  .swiper-pagination-bullet-active {
    background-color: $primary-color;
  }

  .swiper-container-horizontal>.swiper-pagination-bullets,
  .swiper-pagination-custom,
  .swiper-pagination-fraction {
    bottom: 200px;
  }
}

.row-a1 {
  padding: 100px 0;

  .title {
    font-size: 30px;
    text-align: center;
    margin-bottom: 50px;
  }

  .list {
    display: flex;
    flex-direction: row;
    justify-content: space-around;
    align-items: center;
    margin-bottom: 50px;
    border-bottom: solid 1px #cedae6;

    .li {
      text-align: center;
      line-height: 35px;
      font-size: 12px;
      border-bottom: solid 2px #ffffff;
      animation: all .3s;

      &.lii {
        font-size: 14px;
        color: $primary-color;
        font-weight: bold;
        border-bottom: solid 2px $primary-color;
      }

      &:hover {
        cursor: pointer;
      }
    }
  }

  .items {

    .item {
      display: none;
      flex-direction: row;
      justify-content: space-between;
      align-items: flex-start;
      animation: all .3s;

      &.cur {
        display: flex;
      }

      .text {
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        width: 50%;
        padding: 20px 100px;

        .desc {
          text-indent: 30px;
          line-height: 30px;
          margin-bottom: 20px;
        }

        .btn {
          display: flex;
          flex-direction: row;
          justify-content: flex-start;
          align-items: center;

          &:hover {
            cursor: pointer;
          }

          .txt {
            font-size: 12px;
            color: $primary-color;
            margin-right: 10px;
          }

          .icon {
            width: 24px;
            background: linear-gradient(to right, $primary-linear-one, $primary-linear-two);
            height: 24px;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            padding: 3px;
            position: relative;

            &:hover {
              animation: btnBgColor .1s linear;
              animation-fill-mode: forwards;
            }

            &::after {
              content: "";
              border: solid 1px #a0c2ff;
              width: 32px;
              height: 32px;
              position: absolute;
              top: 50%;
              left: 50%;
              transform: translate(-50%, -50%);
              border-radius: 50%;
            }

            img {
              width: 100%;
            }
          }
        }
      }

      .pic {
        width: 50%;
      }
    }
  }
}

.row-a2 {
  padding: 100px 0;
  background-color: #f1f6fc;

  .title {
    margin-bottom: 50px;
    position: relative;

    .tit {
      font-size: 30px;
      text-align: center;
      position: relative;
      z-index: 9;
    }

    .txt {
      width: 100%;
      text-align: center;
      position: absolute;
      top: -30px;
      left: 50%;
      transform: translate(-50%, 0);
      font-size: 50px;
      color: $primary-color-back;
      font-weight: bolder;
      user-select: none;
    }
  }

  .con {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
  }

  .navlist {
    margin-right: 50px;

    .nav {
      margin-bottom: 20px;
      width: 240px;

      .tit {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 0 30px;
        line-height: 50px;
        background: $primary-color-back;
        border-radius: 5px;
        position: relative;

        &:hover {
          cursor: pointer;
        }

        .txt {
          color: #ffffff;
        }

        .txt {
          color: $primary-color;
          font-size: 16px;
          font-weight: bold;
        }

        .icon {
          width: 20px;

        }
      }

      .sub {
        height: 0px;
        overflow: hidden;

        div {
          line-height: 50px;
          padding: 0 30px;
          border-radius: 5px;

          &:hover {
            cursor: pointer;
            background-color: $primary-color-back;
            color: $primary-color;
          }
        }
      }

      &.current {
        .tit {
          background: linear-gradient(to right, $primary-linear-one, $primary-linear-two);

          .txt {
            color: #ffffff;
          }

          img {
            filter: grayscale(100%) brightness(200%);
            transform: rotate(180deg);
          }
        }

        .sub {
          height: auto;
        }
      }
    }
  }

  .list {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;

    .li {
      margin-bottom: 20px;
      width: 30%;
      border-radius: 5px;
      overflow: hidden;
      height: 260px;
      animation: all .3s;
      background-color: #ffffff;

      .text {
        padding: 20px;
        font-weight: bold;
      }

      &:hover {
        cursor: pointer;
        box-shadow: $primary-linear-two 0 0 5px 1px;
      }
    }

    .lii {
      width: 30%;
      background-color: #ffffff;
      border-radius: 5px;
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      overflow: hidden;
      height: 260px;
      margin-bottom: 20px;

      &:hover {
        cursor: pointer;
        box-shadow: $primary-linear-two 0 0 5px 1px;
      }

      .icon {
        width: 24px;
        background: linear-gradient(to right, $primary-linear-one, $primary-linear-two);
        height: 24px;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 3px;
        position: relative;
        margin-bottom: 20px;

        &:hover {
          animation: btnBgColor .1s linear;
          animation-fill-mode: forwards;
        }

        &::after {
          content: "";
          border: solid 1px #a0c2ff;
          width: 32px;
          height: 32px;
          position: absolute;
          top: 50%;
          left: 50%;
          transform: translate(-50%, -50%);
          border-radius: 50%;
        }

        img {
          width: 100%;
        }
      }

      .txt {
        color: $primary-color;
      }
    }
  }
}

.row-a3 {
  padding: 100px 0 200px 0;

  background-color: $primary-linear-one;

  .title {
    margin-bottom: 50px;
    position: relative;

    .tit {
      font-size: 30px;
      text-align: center;
      position: relative;
      z-index: 9;
      color: #ffffff;
    }

    .txt {
      width: 100%;
      text-align: center;
      position: absolute;
      top: -30px;
      left: 50%;
      transform: translate(-50%, 0);
      font-size: 50px;
      color: $primary-linear-two;
      font-weight: bolder;
      user-select: none;
    }
  }

  .list {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;

    .li {
      width: 19%;
      background-color: #ffffff;
      height: 350px;
      border-radius: 10px;
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      align-items: center;
      transition: all .3s;
      padding: 80px 0 30px 0;

      &:hover {
        cursor: pointer;
        transform: scale(1.2);
        background: url("../../static/images/pic004.png") no-repeat center;
        background-size: 100% 100%;
        padding: 20px 0;
        justify-content: flex-end;

        .pic {
          display: none;
        }

        .text {
          color: #ffffff;

          .tit {
            margin-bottom: 20px;
          }

          .desc {
            display: block;
            display: -webkit-box;

          }
        }
      }

      .pic {
        width: 50px;
      }

      .text {
        display: flex;
        align-items: center;
        flex-direction: column;
        padding: 0 20px;

        .tit {
          font-size: 20px;
          font-weight: bold;
        }

        .desc {
          font-size: 12px;
          display: none;
          overflow: hidden;
          text-overflow: ellipsis;
          -webkit-line-clamp: 2;
          -webkit-box-orient: vertical;
        }
      }
    }
  }
}

.row-a4 {
  background: url("../../static/images/pic007.png") no-repeat center;
  background-size: 100% 100%;
  padding: 100px 0;

  .title {
    margin-bottom: 50px;
    position: relative;

    .tit {
      font-size: 30px;
      text-align: center;
      position: relative;
      z-index: 9;
    }

    .txt {
      width: 100%;
      text-align: center;
      position: absolute;
      top: -30px;
      left: 50%;
      transform: translate(-50%, 0);
      font-size: 50px;
      color: $primary-color-back;
      font-weight: bolder;
      user-select: none;
    }
  }

  .con {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    .con-a1 {
      display: flex;
      flex-direction: row;
      justify-content: center;
      align-items: center;
    }

    .con-a2 {
      display: flex;
      flex-direction: row;
      justify-content: space-around;
      align-items: center;
      position: relative;
      top: -30px;
    }

    .li {
      position: relative;
      margin: 0 10px;
      transition: all .3s;
      width: 150px;
      height: 170px;

      &:hover {
        transform: scale(1.1);

        .icon {
          filter: brightness(200%);
        }
      }

      .back {}

      .icon {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
      }
    }
  }
}

.row-a5 {
  padding: 100px 0;

  .title {
    margin-bottom: 50px;
    position: relative;

    .tit {
      font-size: 30px;
      text-align: center;
      position: relative;
      z-index: 9;
    }

    .txt {
      width: 100%;
      text-align: center;
      position: absolute;
      top: -30px;
      left: 50%;
      transform: translate(-50%, 0);
      font-size: 50px;
      color: $primary-color-back;
      font-weight: bolder;
      user-select: none;
    }
  }

  .con {
    .desc {
      font-size: 12px;
      margin-bottom: 50px;
      text-indent: 30px;
    }
  }
}


.fixed {
  position: fixed;
  right: 30px;
  top: 30%;
  z-index: 999;

  .icons {
    display: flex;
    flex-direction: column;
    background: linear-gradient(to right, $primary-linear-one, $primary-linear-two);
    border-radius: 30px;
    padding: 0 10px;
    justify-content: space-between;

    .icon {
      width: 30px;
      padding: 20px 0;

      &:nth-child(2) {
        border-top: solid 1px rgba($color: #ffffff, $alpha: .5);
        border-bottom: solid 1px rgba($color: #ffffff, $alpha: .5);
      }

      &:hover {
        cursor: pointer;
      }

      display: flex;
      align-items: center;
      justify-content: center;

      img {
        width: 100%;
      }
    }
  }
}

.goTop {
  position: fixed;
  right: 30px;
  bottom: 20%;
  z-index: 999;
  display: block;

  .icon {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    box-shadow: #dddddd 0 0 5px 1px;
    background-color: #ffffff;
    padding: 15px;
    display: flex;
    justify-content: center;
    align-items: center;

    &:hover {
      cursor: pointer;
    }

    img {
      width: 100%;
    }
  }

  &.hidden {
    display: none;
  }
}

@media only screen and (max-width: 1199px) {
  .row-a3 {
    .list {
      .li {
        height: 280px;
      }
    }
  }
}

@media only screen and (max-width: 959px) {
  .banner {
    height: 500px;

    .pic {
      height: 500px;
    }
  }

  .row-a1 {
    .list {
      margin-bottom: 20px;
    }

    .items {
      .item {
        flex-direction: column;

        .text {
          width: 100%;
        }

        .pic {
          width: 100%;
          text-align: center;
        }
      }
    }
  }

  .row-a2 {
    .navlist {
      .nav {
        width: 180px;

        .tit {
          line-height: 30px;
          padding: 0 20px;

          .txt {
            font-size: 14px;
          }
        }

        .sub {
          div {
            line-height: 35px;
            font-size: 12px;
          }
        }
      }

    }

    .list {
      .li {
        height: 200px;
      }

      .lii {
        height: 200px;
      }
    }
  }

  .row-a3 {
    .list {
      .li {
        height: 260px;
      }
    }
  }
}

@media only screen and (max-width: 769px) {
  .banner {
    height: 300px;

    .pic {
      height: 300px;
    }

    .list {
      display: none;
    }

    .swiper-container-horizontal>.swiper-pagination-bullets,
    .swiper-pagination-custom,
    .swiper-pagination-fraction {
      bottom: 0px;
    }
  }

  .row-a1 {
    padding: 50px 0;

    .list {
      margin-bottom: 0px;
    }

    .items {
      .item {
        .text {
          width: 100%;
          padding: 20px 50px;
        }
      }
    }
  }

  .row-a2 {
    padding: 50px 0;

    .navlist {
      .nav {
        width: 140px;

        .tit {
          line-height: 35px;

          .txt {
            font-size: 14px;
          }
        }

        .sub {
          div {
            line-height: 35px;
            font-size: 12px;
          }
        }
      }

    }

    .list {
      .li {
        height: 180px;
      }

      .lii {
        height: 180px;
      }
    }
  }

  .row-a3 {
    padding: 50px 0 100px 0;

    .list {
      .li {
        height: 200px;

        .pic {
          width: 30px;
        }

        .text {
          .tit {
            font-size: 16px;
          }

          .desc {
            font-size: 12px;
          }
        }
      }
    }
  }
  .row-a5{
    padding: 50px 0;
    .title{
      margin-bottom: 100px;
    }
  }
}
@media only screen and (max-width: 580px){
  .row-a2{
    .list{
      .li{
        width: 49%;
      }
      .lii{
        width: 49%;
      }
    }
  }
}
@media only screen and (max-width: 500px) {
  .banner {
    height: 240px;

    .pic {
      height: 240px;
    }

    .list {
      display: none;
    }

    .swiper-container-horizontal>.swiper-pagination-bullets,
    .swiper-pagination-custom,
    .swiper-pagination-fraction {
      bottom: 0px;
    }
  }

  .row-a1 {
    .list {
      margin-bottom: 0px;
    }

    .items {
      .item {
        flex-direction: column;

        .text {
          width: 100%;
          padding: 20px;
        }
      }
    }
  }

  .row-a2 {
    .title {
      margin-bottom: 100px;
    }

    .con {
      display: flex;
      flex-direction: column;
    }

    .navlist {
      width: 100%;
      margin: 0px;

      .nav {
        width: 100%;
      }
    }
    .list{
      .li{
        height: 200px;
        width: 49%;
      }
      .lii{
        width: 49%;
      }
    }
  }

  .row-a3 {
    .list {
      flex-wrap: wrap;
      justify-content: space-around;

      .li {
        width: 30%;
        height: 150px;
        margin-bottom: 15px;
        padding: 50px 0 20px 0;

        .pic {}
      }
    }
  }

  .row-a4 {
    .con {
      .li {
        margin-bottom: 10px;
      }

      .con-a1 {
        flex-wrap: wrap;
      }

      .con-a2 {
        display: none;
      }
    }
  }
}

@keyframes btnBgColor {

  /* 开始 */
  0% {
    background: linear-gradient(to right, $primary-linear-one 0%, $primary-linear-two);
  }

  10% {
    background: linear-gradient(to right, $primary-linear-one 10%, $primary-linear-two);
  }

  20% {
    background: linear-gradient(to right, $primary-linear-one 20%, $primary-linear-two);
  }

  30% {
    background: linear-gradient(to right, $primary-linear-one 30%, $primary-linear-two);
  }

  40% {
    background: linear-gradient(to right, $primary-linear-one 40%, $primary-linear-two);
  }

  50% {
    background: linear-gradient(to right, $primary-linear-one 50%, $primary-linear-two);
  }

  60% {
    background: linear-gradient(to right, $primary-linear-one 60%, $primary-linear-two);
  }

  70% {
    background: linear-gradient(to right, $primary-linear-one 70%, $primary-linear-two);
  }

  80% {
    background: linear-gradient(to right, $primary-linear-one 80%, $primary-linear-two);
  }

  90% {
    background: linear-gradient(to right, $primary-linear-one 90%, $primary-linear-two);
  }

  100% {
    background: linear-gradient(to right, $primary-linear-one 100%, $primary-linear-one);
  }
}